<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 6. < 数组方法加强练习 > 求最大值
        const input1 = [
            1, 2, 3, 4, 5,
            [7, 8, 9, [13, 12]],
        ];

        const output1 = 13;

        // ⭐
        function getMax1(input) {
            return Math.max(...input.flat(Infinity));
        }
        console.log(getMax1(input1));

        // 7. < 数组方法加强练习 > 求最大值
        const input2 = [
            { value: 1 },
            { value: 2 },
            { value: 3 },
            { value: 4 },
            { value: 7 },
            { value: 4 },
        ];

        const output2 = 7;
   
        // function getMax2(input) {
        //     const res = [];
        //     for (const item of input) {
        //         res.push(item.value);
        //     }
        //     const max = Math.max(...res)
        //     return max;
        // }
        // console.log(getMax2(input2));


        // ⭐
        function getMax2(input) {
            return Math.max(...input.map(item => item.value));
        }
        console.log(getMax2(input2));

        // 8. < 数组方法加强练习 > 求最大值
        const input3 = [
            { value: 1 },
            { value: 2 },
            { value: 3 },
            [
                { value: 11 },
                { value: 22 },
                { value: 33 },
                [
                    { value: 111 },
                    { value: 222 },
                ],
            ],
        ];
        const output3 = 222;

        // function getMax3(input) {
        //     const res = [];
        //     const newInput = input.flat(Infinity);
        //     for (const item of newInput) {
        //         res.push(item.value);
        //     }
        //     const max = Math.max(...res)
        //     return max;
        // }
        // console.log(getMax3(input3));
        
        // ⭐
        function getMax3(input) {
            return Math.max(...input.flat(Infinity).map(item => item.value))
        }
        console.log(getMax3(input3));
       
    </script>
</body>
</html>